<?php

class CidadeController extends Controller {
    
    public function __construct(){
        parent::__construct('CIDADE');
    }
    
    public function index(){
        $this->save('ArCidades', CidadeModel::GetAllCidade());
        $this->view('index');
    }
    
    public function Form(){
        $this->view('formulario');
    }
    
    public function SaveForm(){
        $Cidade = new Cidade($_POST['Codigo']);
        $Cidade->setNome($_POST['nomeCidade']);
        $Cidade->setUF(strtoupper($_POST['UF']));
        try {
            $Cidade->valida();
            $Codigo = $Cidade->getCodigo();
            if(empty($Codigo))
                CidadeModel::Save($Cidade);
            else
                CidadeModel::Update($Cidade);
            SessionHelper::saveMessage('Cidade salva com sucesso.');
        } catch(Exception $e){
            SessionHelper::saveMessage($e->getMessage(), 'error');
        }
        Util::returnPage();
    }
    
    public function Create(){
        $this->Form();
    }
    
    public function Update(){
        $ArURL = Util::getParameters();
        if(isset($ArURL['Codigo'])){
            $Cidade = CidadeModel::getByCodigo($ArURL['Codigo']);
            $this->save('Cidade', $Cidade);
            $this->save('isEdit', true);
        }        
        $this->Form();
    }
    
    public function Delete(){
        $ArURL = Util::getParameters();
        $sucesso = CidadeModel::Delete($ArURL['Codigo']);
        $message = $sucesso ? "Cidade removida com sucesso." : "Erro ao excluir cidade.";
        SessionHelper::saveMessage($message, $sucesso);
        Util::redirectTo("Cidade/index");
    }
}

?>
